package org.xtext.runtime.term;

import java.util.Map;

import org.xtext.runtime.type.IType;
import org.xtext.runtime.util.Bindings;
import org.xtext.runtime.util.ILogicVisitor;


public interface ITerm {
	public IType type();
	public ITerm copy();
	public ITerm copy(Map<String, Variable> vars);
	public Object value();
	public boolean hasFreeVariables();
	public ITerm apply(Bindings bindings);
	public Object accept(ILogicVisitor visitor);
}
